    Help for ZipInf

Properties            Methods            Frequently Asked Questions

Registration Information

Order Form

Getting Custom Controls Written

Licensing Information

Description

ZipInf VBX/OCX is a Visual Basic custom control that lets you determine the number of files in a ZIP file plus many items of useful information about each file, including the compressed size of each file,  its 32-bit CRC, its date stamp, time stamp, associated comment, name, method of compression,  and full uncompressed size,

ZipInf does not compress or decompress data.

File Name

ZIPINF1.VBX, ZIPINF16.OCX, ZIPINF32.OCX

ActiveX / OCX Object Name

Mabry.ZipInfCtrl

ActiveX Compatility

VB 4.0 (32-bit) and 5.0

ActiveX Built With

Microsoft Visual C++ v4

ActiveX - Required DLLs

MFC40.DLL (October 6th, 1995 or later)

OLEPRO32.DLL  (October 6th, 1995 or later)

MSVCRT40.DLL  (September 29th, 1995 or later)

VBX Object Type

MabryZipInfo

VBX Compatibility

VB 2.0, 3.0 and 4.0 (16-bit)

VBX Built With

Microsoft Visual C++ v1.5

Distribution Note    When you develop and distribute an application that uses this control, you should install the control file into the user's Windows SYSTEM directory.  The control file has version information built into it.  So, during installation, you should ensure that you are not overwriting a newer version.


ZipInf Properties

Properties that have special meaning for this control or that only apply to this control are marked with an asterisk (*).

Align Property

*DateFormat Property

Enabled Property

*FileComment Property

*FileName Property

*ItemCompressed Property

*ItemCRC Property

*ItemDate Property

*ItemFileComment Property

*ItemFileName Property

*ItemMethod Property

*ItemTime Property

*ItemUncompressed Property

Left Property

*ListCount Property

Name Property

Tag Property

Top Property

*Version Property


ZipInf Methods

Methods that have special meaning for this control or that only apply to this control are marked with an asterisk (*).

Clear Method


Frequently Asked Questions

General Questions

Does ZipInf support self-extracting archives?


FAQ - Does ZipInf support self-extracting archives?
Does ZipInf support self-extracting archives?

Frequently Asked Questions

No. ZipInf only works on ZIP files.


Registration Information

CREDITS

ZipInf was written by James Shields.

CONTACT INFORMATION

Orders, inquiries, technical support, questions, comments, etc. can be sent to mabry@mabry.com on the Internet.  Our mailing address/contact information is:

Mabry Software, Inc.

Post Office Box 31926

Seattle, WA  98103-1926

Sales: 1-800-99-MABRY (U.S. Only)

Voice: 206-634-1443

Fax: 206-632-0272 or 206-364-3196

Web: http://www.mabry.com

COST

The price of ZipInf (control only) is US$15 (US$20 for International orders).  The cost of ZipInf and the C/C++ source code (of the control itself) is US$35 (US$40 for International orders).

Prices are subject to change without notice.

DELIVERY METHODS

We can ship this software to you via air mail and/or e-mail.

Air Mail - you will receive disks, a printed manual, and printed receipt if you choose this delivery method.  The costs are:

US$5.00 	US Priority Mail

US$10.00 	AirBorne Express 2nd Day (US deliveries only)

US$15.00 	AirBorne Express Overnight (US deliveries only)

US$45.00 	International AirBorne Express.

E-Mail - We can ship this package to you via e-mail.  You need to have an e-mail account that can accept large file attachments (which includes CompuServe, AOL, and most Internet providers).  If you choose this option, please note: a printed manual is not included.  We will, however, e-mail a receipt to you.

Be sure to include your full mailing address with your order.  Sometimes (on the Internet) the package cannot be e-mailed, so we are forced to send it through the normal mails.

CompuServe E-Mail - CompuServe members can use the software registration forum (GO SWREG) to register this package.  ZipInf's SWREG ID number is 1595.  The source code version's ID number is 1596.  PLEASE NOTE: When you order through SWREG, we send the registered package to your CompuServe account (not your Internet or AOL account) within a few hours.

ORDER / PAYMENT METHODS

You can order this software by phone, fax, e-mail, mail.  For your convenience, an order form has been provided that you can print out directly from this help file.

Please note that orders must include all information that is requested on our order form.   Your shipment WILL BE DELAYED if we have to contact you for additional information (such as phone number, street address, etc.).

You can pay by credit card (VISA, MasterCard, American Express), check (U.S. dollars drawn on a U.S. bank), cash, International Money Order, International Postal Order, Purchase Order (established business entities only - terms net 30), or wire transfer.

WIRE TRANSFER INFORMATION

Here is the information you need regarding our account for a wire funds transfer:

Bank Name: 	SeaFirst - Stone Way Branch

Bank Address: 	3601 Stone Way North

Seattle, WA  98103

Bank Phone: 	206-585-4951

Account Name: 	Mabry Software, Inc.

Routing Number: 	12000024

Account Number: 	16311706

If you are paying with a wire transfer of funds, please add US$12.50 to your order.  This is the fee that SeaFirst Bank charges Mabry Software.  Also, please ADD ANY ADDITIONAL FEES THAT YOUR BANK MAY CHARGE for wire transfer service. If you are paying with a  wire transfer, we must have full payment deposited to our account before we can ship your order.

Copyright © 1993-1997 by Mabry Software, Inc.


Order Form
 ZipInf Order Form

Use the Print Topic... command from the File menu to print this order form.

Mail this 	Mabry Software, Inc.

form to: 	Post Office Box 31926

Seattle, WA  98103-1926

Phone: 206-634-1443

Fax: 206-632-0272 or 206-364-3196

Internet: mabry@mabry.com

Web: www.mabry.com

Where did you get this copy of ZipInf?

____________________________________________________________________

Name: 	____________________________________________________________________

Ship to: 	____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

Phone: 	_________________________________________________________________

Fax: 	_________________________________________________________________

E-Mail: 	_________________________________________________________________

MC/VISA/AMEX: _________________________________________ exp. __________________

P.O. # (if any): 	____________________ Signature ____________________________________

qty ordered 	____ 	REGISTRATION
$15.00 ($20.00 international).  Check or money order in U.S. currency drawn on a U.S. bank.  Add $5.00 per order for shipping and handling.

qty ordered 	____ 	SOURCE CODE AND REGISTRATION
$35.00 ($40.00 international).  Check or money order in U.S. currency drawn on a U.S. bank.  Add $5.00 per order for shipping and handling.


DateFormat Property Example

In this example, the program shows the how DateFormat property affects the ItemDate property. To try this example, paste the code into the Declarations section of a form that contains two text boxes, a command button, and a ZipInf control.  Press F5.  Fill in the first text box with a legitimate ZIP file name (with full path).  Fill in the second text box with a date format string (such as "MM-DD-YY" or "D-M-YYYY").  Then, press the command button.

Sub Command1_Click ()
    Dim I As Integer

    List1.Clear

    ZipInfo1.FileName = Text1.Text
    ZipInfo1.DateFormat = Text2.Text

    For I = 0 To ZipInfo1.ListCount - 1
        List1.AddItem ZipInfo1.ItemFileName(I) & " " & ZipInfo1.ItemDate(I)
    Next I
End Sub


File Properties Example

In this example, the program shows the ListCount and FileComment properties. To try this example, paste the code into the Declarations section of a form that contains two labels, a text box, a command button, and a ZipInf control.  Press F5.  Fill in the text box with the filename (including full path) of a ZIP file.  Then, press the command button.

Sub Command1_Click ()
    ZipInfo1.FileName = Text1.Text

    If Len(ZipInfo1.FileComment) = 0 Then
        Label1.Caption = "FileComment: (none)"
    Else
        Label1.Caption = "FileComment: " & ZipInfo1.FileComment
    End If

    Label2.Caption = "ListCount: " & ZipInfo1.ListCount
End Sub


Item Properties Example

In this example, the program shows the various ZIP file item properties. To try this example, paste the code into the Declarations section of a form that contains seven labels (make these somewhat wide), a text box, a command button, a list box, and a ZipInf control.  Press F5.  Fill in the text box with the filename (including full path) of a ZIP file.  Then, click on various file names in the list box.

Sub Command1_Click ()
    Dim I As Integer

    ZipInfo1.FileName = Text1.Text

    List1.Clear

    For I = 0 To ZipInfo1.ListCount - 1
        List1.AddItem ZipInfo1.ItemFileName(I)
    Next I
End Sub

Sub List1_Click ()
    Dim I As Integer

    I = List1.ListIndex

    Label1.Caption = "ItemCompressed: " & ZipInfo1.ItemCompressed(I)
    Label2.Caption = "ItemCRC: " & Hex$(ZipInfo1.ItemCRC(I))
    Label3.Caption = "ItemDate: " & ZipInfo1.ItemDate(I)
    Label4.Caption = "ItemFileComment: " & ZipInfo1.ItemFileComment(I)
    Label5.Caption = "ItemMethod: " & ZipInfo1.ItemMethod(I)
    Label6.Caption = "ItemTime: " & ZipInfo1.ItemTime(I)
    Label7.Caption = "ItemUncompressed: " & ZipInfo1.ItemUncompressed(I)
End Sub


DateFormat Property See Also
See Also

ItemDate Property


FileComment Property See Also
See Also

FileName Property

ItemFileComment Property

ListCount Property


FileName Property See Also
See Also

FileComment Property

ItemFileName Property


ItemCompressed Property See Also
See Also

ItemUncompressed Property


ItemCRC Property See Also
See Also

ItemCompressed Property

ItemMethod Property

ItemUncompressed Property


ItemDate Property See Also
See Also

ItemTime Property


ItemFileComment Property See Also
See Also

FileComment Property

ItemFileName Property


ItemFileName Property See Also
See Also

FileName Property

ItemFileComment Property


ItemMethod Property See Also
See Also

ItemCompressed Property

ItemCRC Property

ItemUncompressed Property


ItemTime Property See Also
See Also

ItemDate Property


ItemUncompressed Property See Also
See Also

ItemCompressed Property

ItemCRC Property

ItemMethod Property


ListCount Property See Also
See Also

FileName Property


DateFormat Property

See Also            DateFormat Property Example            Frequently Asked Questions

Description

Determines the format of the date used by the ItemDate property.

Syntax

object.DateFormat

The syntax of the DateFormat property has these parts:

Part	   	Description

object	A ZipInf control.

Remarks

Setting this property determines the format of the date used with the ItemDate property. This can be used to override the international settings found in WIN.INI. Using this property, you can ensure that you always get a date formatted in a specific fashion. If you leave it to the format found in WIN.INI, you'll have to figure out what format (i.e., MM/DD/YY, DD/MM/YY, or YY/MM/DD) it is.

This string can consist of punctuation and symbols. The symbols are:

Symbol	   	Meaning

d	Day of the month: 1 - 31

dd	Day of the month: 01-31

m	Month of the year: 1 - 12

mm	Month of the year: 01-12

yy	Year: 00-99

yyyy	Year: 1970-2099

More information about this format can be found in the Windows Resource Kit under [intl] Section, and in the VB Programmer's Guide under Format$.

Data Type

String


FileComment Property

See Also            File Properties Example            Frequently Asked Questions

Description

Holds the comment field from the ZIP file.

Syntax

object.FileComment

The syntax of the FileComment property has these parts:

Part	   	Description

object	A ZipInf control.

Remarks

This property holds the comment string loaded from the ZIP file (specified by the FileName property).

This property is read-only.

Data Type

String


FileName Property

See Also            File Properties Example            Item Properties Example            Frequently Asked Questions

Description

Specifies the ZIP file to examine.

Syntax

object.FileName [= filename ]

The syntax of the FileName property has these parts:

Part	   	Description

object	A ZipInf control.

filename	A string expression that holds the full path and filename to a ZIP file.

Remarks

Setting this property causes ZipInf to load the various properties with information from the ZIP file specified. If the file specified is not found, ZipInf will cause a File Not Found (7) error. If the file specified is not a ZIP file, ZipInf will cause a Not a ZIP File (29999) error. If the ZIP file is corrupt, ZipInf will cause a Corrupt ZIP File (29998) error.

Data Type

String


ItemFileComment Property

See Also            Item Properties Example            Frequently Asked Questions

Description

Contains the comment associated with a file in the ZIP file.

Syntax

object.ItemFileComment( FileIndex )

The syntax of the ItemFileComment property has these parts:

Part	   	Description

object	A ZipInf control.

FileIndex	An integer that identifies a file contained with the ZIP file.

Remarks

This property returns the comment associated with the file specified by FileIndex. FileIndex must be between 0 and ListCount - 1.

This property is read-only and only available at run-time.

Data Type

String


ItemFileName Property

See Also            Item Properties Example            Frequently Asked Questions

Description

Contains the names of the files in a ZIP file.

Syntax

object.ItemFileName( FileIndex )

The syntax of the ItemFileName property has these parts:

Part	   	Description

object	A ZipInf control.

FileIndex	An integer that identifies a file contained with the ZIP file.

Remarks

This property returns the name of the file specified by FileIndex. FileIndex must be between 0 and ListCount - 1.

This property is read-only and only available at run-time.

Data Type

String


ItemCompressed Property

See Also            Item Properties Example            Frequently Asked Questions

Description

Contains the compressed size of a file in the ZIP file.

Syntax

object.ItemCompressed( FileIndex )

The syntax of the ItemCompressed property has these parts:

Part	   	Description

object	A ZipInf control.

FileIndex	An integer that identifies a file contained with the ZIP file.

Remarks

This property returns the compressed size (i.e., how much space it takes up in the ZIP file) of the file specified by FileIndex. FileIndex must be between 0 and ListCount - 1. The format of this property is determined by the short date format in WIN.INI and by the DateFormat property (which takes precedence).

This property is read-only and only available at run-time.

Data Type

Integer (long)


ItemCRC Property

See Also            Item Properties Example            Frequently Asked Questions

Description

Contains the 32-bit CRC of a file in the ZIP file.

Syntax

object.ItemCRC( FileIndex )

The syntax of the ItemCRC property has these parts:

Part	   	Description

object	A ZipInf control.

FileIndex	An integer that identifies a file contained with the ZIP file.

Remarks

This property returns the 32-bit cyclic redundancy check (CRC) of the file specified by FileIndex. FileIndex must be between 0 and ListCount - 1. The format of this property is determined by the short date format in WIN.INI and by the DateFormat property (which takes precedence).

This property is read-only and only available at run-time.

Data Type

Integer (long)


ItemDate Property

See Also            Item Properties Example            Frequently Asked Questions

Description

Contains the date stamp of a file in the ZIP file.

Syntax

object.ItemDate( FileIndex )

The syntax of the ItemDate property has these parts:

Part	   	Description

object	A ZipInf control.

FileIndex	An integer that identifies a file contained with the ZIP file.

Remarks

This property returns the date stamp on the file specified by FileIndex. FileIndex must be between 0 and ListCount - 1. The format of this property is determined by the short date format in WIN.INI and by the DateFormat property (which takes precedence).

This property is read-only and only available at run-time.

Data Type

String


ItemMethod Property

See Also            Item Properties Example            Frequently Asked Questions

Description

Contains the compressed method used for a file in the ZIP file.

Syntax

object.ItemMethod( FileIndex )

The syntax of the ItemMethod property has these parts:

Part	   	Description

object	A ZipInf control.

FileIndex	An integer that identifies a file contained with the ZIP file.

Remarks

This property returns the compressed method used on the file specified by FileIndex. FileIndex must be between 0 and ListCount - 1. The compression methods are:

Value	   	Description

0	No compression - stored.

1	Shrunk

2	Reduced

3	Reduced

4	Reduced

5	Reduced

6	Imploded

7	Tokenized (not used)

8	Deflated

This property is read-only and only available at run-time.

Data Type

Integer


ItemTime Property

See Also            Item Properties Example            Frequently Asked Questions

Description

Contains the time stamp of a file in the ZIP file.

Syntax

object.ItemTime( FileIndex )

The syntax of the ItemTime property has these parts:

Part	   	Description

object	A ZipInf control.

FileIndex	An integer that identifies a file contained with the ZIP file.

Remarks

This property returns the time stamp on the file specified by FileIndex. FileIndex must be between 0 and ListCount - 1. This property's format is HH:MM:SS (i.e., like the default Time$ format).

This property is read-only and only available at run-time.

Data Type

String


ItemUncompressed Property

See Also            Item Properties Example            Frequently Asked Questions

Description

Contains the full size of a file in the ZIP file.

Syntax

object.ItemUncompressed( FileIndex )

The syntax of the ItemUncompressed property has these parts:

Part	   	Description

object	A ZipInf control.

FileIndex	An integer that identifies a file contained with the ZIP file.

Remarks

This property returns the full size (i.e., uncompressed, in bytes) of the file specified by FileIndex. FileIndex must be between 0 and ListCount - 1.

This property is read-only and only available at run-time.

Data Type

Integer (long)


ListCount Property

See Also            File Properties Example            Item Properties Example            Frequently Asked Questions

Description

Specifies the number of files within the ZIP file.

Syntax

object.ListCount

The syntax of the ListCount property has these parts:

Part	   	Description

object	A ZipInf control.

Remarks

This property gets set when the FileName property is set. This property tells how many files are in the ZIP file. The information about the individual files can be accessed through the following properties: ItemCRC, ItemCompressed, ItemDate, ItemFileName, ItemFileComment, ItemMethod, ItemTime, and ItemUncompressed.

If the file currently selected is not a ZIP file or if the file specified doesn't exist, this property will be set to -1.

This property is read-only.

Data Type

Integer


Version Property

Frequently Asked Questions

Description

Shows the version of the control.

Syntax

object.Version

The syntax of the Version property has these parts:

Part	   	Description

object	A ZipInf control.

Remarks

This property holds the current version of the control. It is read-only and available at both design-time and run-time.

Data Type

String


Getting Custom Controls Written

If you or your organization would like to have custom controls written, you can contact us at the following:

Mabry Software, Inc.

Post Office Box 31926

Seattle, WA  98103-1926

Phone: 206-634-1443

Fax: 206-632-0272 or 206-364-3196

Internet: mabry@mabry.com

You can also contact Zane Thomas.  He can be reached at:

Zane Thomas

Post Office Box 121

Indianola, WA  98342

Internet: zane@mabry.com


Licensing Information

Legalese Version

Mabry Software grants a license to use the enclosed software to the original purchaser.  Copies may be made for back-up purposes only.  Copies made for any other purpose are expressly prohibited, and adherence to this requirement is the sole responsibility of the purchaser.

Customer written executable applications containing embedded Mabry products may be freely distributed, without royalty payments to Mabry Software, provided that such distributed Mabry product is bound into these applications in such a way so as to prohibit separate use in design mode, and that such Mabry product is distributed only in conjunction with the customers own software product.  The Mabry Software product may not be distributed by itself in any form.

Neither source code for Mabry Software products nor modified source code for Mabry Software products may be distributed under any circumstances, nor may you distribute .OBJ, .LIB, etc. files that contain our routines. This control may be used as a constituent control only if the compound control thus created is distributed with and as an integral part of an application.  Permission to use this control as a constituent control does not grant a right to distribute the license (LIC) file or any other file other than the control executable itself. This license may be transferred to a third party only if all existing copies of the software and its documentation are also transferred.

This product is licensed for use by only one developer at a time.  Mabry Software expressly prohibits installing this product on more than one computer if there is any chance that both copies will be used simultaneously.  This restriction also extends to installation on a network server, if more than one workstation will be accessing the product.  All developers working on a project which includes a Mabry Software product, even though not working directly with the Mabry product, are required to purchase a license for that Mabry product.

This software is provided as is.  Mabry Software makes no warranty, expressed or implied, with regard to the software.  All implied warranties, including the warranties of merchantability and fitness for a particular use, are hereby excluded.

MABRY SOFTWARE'S LIABILITY IS LIMITED TO THE PURCHASE PRICE.  Under no circumstances shall Mabry Software or the authors of this product be liable for any incidental or consequential damages, nor for any damages in excess of the original purchase price.

To be eligible for free technical support by telephone, the Internet, CompuServe, etc. and to ensure that you are notified of any future updates, please complete the enclosed registration card and return it to Mabry Software.

English Version

We require that you purchase one copy of a control per developer on a project.  If this is met, you may distribute the control with your application royalty free.  You may never distribute the LIC file.  You may not change the product in any way that removes or changes the requirement of a license file.

We encourage the use of our controls as constituent controls when the compound controls you create are an integral part of your application.  But we don't allow distribution of our controls as constituents of other controls when the compound control is not part of an application.  The reason we need to have this restriction is that without it someone might decide to use our control as a constituent, add some trivial (or even non-trivial) enhancements and then sell the compound control.  Obviously there would be little difference between that and just plain reselling our control.

If you have purchased the source code, you may not re-distribute the source code either (nor may you copy it into your own project).  Mabry Software retains the copyright to the source code.

Your license is transferable.  The original purchaser of the product must make the transfer request.  Contact us for further information.

The sample versions of our products are intended for evaluation purposes only.  You may not use the sample version to develop completed applications.